# 导入异步引擎的模块
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import declarative_base, sessionmaker
# URL地址格式
from config.config import get_settings

# 创建异步引擎对象
async_engine = create_async_engine(get_settings().ASYNC_DATABASE_URI, echo=False)
# 创建ORM模型基类
Base = declarative_base()
# 定义一个异步数据库会话类
# 该行代码创建了一个会话工厂SessionLocal，它将生成与异步数据库引擎async_engine绑定的会话实例
# 这些会话实例不会在提交后过期（expire_on_commit=False），并且会话类是异步的（class_=AsyncSession）
SessionLocal = sessionmaker(bind=async_engine, expire_on_commit=False, class_=AsyncSession)
